To reduce power consumption, some systems include processors with the ability to perform at various low power (Cx) states. Each C state may indicate a certain level of functionality and corresponding power state. For example, C0 may indicate the processor is operating at normal levels, C1 may indicate the processor is not executing instructions but may return to an executing state quickly, C2 may indicate the processor is to maintain all software-visible information but may take longer to return to full executing state, C3 may indicate the processor is asleep but keeps its cache coherent, C6 may indicate much deeper sleep state where caches are flushed, etc.
However, support for aggressive Operating System (OS) or Software (SW) driven power management is generally very minimal, especially from an OS perspective. Moreover, most current OS power management strategies tend not to scale very well with multiple core systems from a processor power management perspective, or the platform as a whole.
Accordingly, how the various power consumption states are utilized may have a direct impact on performance and/or power consumption of a processor.